Gui application development supporting device, gui display device, method, and computer program

ABSTRACT

An apparatus and method, which make it possible to easily set and execute various animation representations according to the state of a cursor, are provided. In association with each of a state of a cursor or of a component located where the cursor is set, different read image data are set in association with a graphics representation program file. Such different animation displays according to the state of the cursor as animation for a focused state where the cursor is set on a component, image data for when the cursor moves between components and the like become possible, and in GUI-equipped devices, a GUI with which users will not lose sight of the cursor and which is highly visually effective can be realized.

TECHNICAL FIELD

The present invention relates to a GUI application developmentsupporting apparatus, a GUI display apparatus, method and computerprogram. More specifically, the present invention relates to a GUIapplication development supporting apparatus, a GUI display apparatus,method and computer program that improve visual effectiveness and make amore intuitive display of cursor positions and cursor movements possibleby carrying out animation display for a cursor displayed in a graphicaluser interface (GUI).

BACKGROUND ART

Displays such as CRT and LCD are used as data display interfaces or datauser input/output interfaces for PCs, communications terminals andvarious information appliances. For such displays, a screen image, forwhich functions that suit the usage of an information appliance are set,is displayed, for example, as a graphical user interface (GUI). Variousfunctions, such as the arrangement of input buttons, settings for datainput fields, processes to be carried out when the buttons are pressed,for example, are set for the GUI. As a programming language fordeveloping application programs for setting the design and functions ofsuch user interface screens, Java, which is distributed by SunMicrosystems, Inc., is used widely.

A program written in Java is converted into byte code as acomputer/platform-independent Java executable file format, read by aJava virtual machine (Java VM) and converted (interpreted) into machinelanguage and run on various apparatuses.

In Java, in order to create application software easily in a shortperiod of time, software components that do not require re-compiling areprepared in advance, and programs are created by combining thosecomponents. In Java, a technology for making these components reusable(Java Beans) is constructed.

Components are set in units of various components such as, for example,windows to be displayed on a display, buttons, lists, combo boxes, textinput fields and the like. For these components, there are defined“property” as attribute information such as, for example, shapes ofbuttons, position information and the like, “method” as a process as theresult of an action for a component, and further “event” as a functionfor, when an action with respect to a component, such as the arrival ofdata, the occurrence of an interruption, the alteration of properties,the calling of a method or the like, occurs, communicating the event toanother component. These “properties,” “methods” and “events” are takento be elements of components in Java Beans.

The smallest executable program unit in Java is referred to as “class”and a Java Program is constituted by one or more classes. A class has avariable as data and a method as an action. It is possible to forwardand store this program component that is set as a class to a PC or aninformation appliance through a network such as the Internet or a LAN,and on the side of the apparatus in which the class file is stored, aplatform-independent Java virtual machine is able to run the programsaved in the class file.

As key elements of a GUI, there are cursors and pointers. A cursor orpointer moves based on input information from, for example, a mouse, akeyboard, arrow keys of a remote control or the like as user inputdevices, and indicate valid input position information. In thedescription to follow, cursor will be used as an inclusive term for aconcept that includes cursors and pointers. The displaying of cursorpositions in conventional devices is commonly carried out by a barrepresenting a cursor, highlighting a specified area, making an iconblink and so forth.

Cursor display processes in conventional devices are of a configurationwhere a file that stores display image data corresponding to the cursoris set, and a display mode, such as repeated blinking patterns orspecific image data display, defined for the file is executed. However,the image of such a cursor is mostly one with which a specific imagedata is associated, and is fixed regardless of the status of the cursor.Therefore, there is a problem in that it is hard for the user to tellthe difference between whether, for example, the cursor is stationary ormoving.

In addition, various information appliances can be thought of as devicesin which a GUI may be implemented, but few of these would have inputmeans that are capable of executing move instructions for a cursorfreely in all directions like a mouse of a PC, and many of them carryout move control of a cursor through only the combination of moveinstruction keys for the four directions of up, down, left and rightused in remote controls, for example, and an enter key.

When cursor move instructions based on such simple input devices arecarried out, the moving of the cursor is not necessarily carried out ina linear manner with respect to the destination of the cursor movement,the cursor movement caused by user operation and the movement of theuser's sight do not match, and there arises the problem of losing sightof the cursor movement, and the like.

DISCLOSURE OF THE INVENTION

The present invention is made in view of the problems above, and makesit its object to provide a GUI application development supportingapparatus, a GUI display apparatus, method and computer program thatmake it possible, when a cursor (focus) is set on each component, forexample, a button, data input field, combo box, list and the like, thatis set in a graphical user interface or with respect to cursor (focus)movement between each component, to execute animation representationcorresponding to its state so that a user can easily recognize thecursor position, and, in addition, so that even when the cursor moves,the user can easily recognize its movement path.

The first aspect of the present invention is a GUI applicationdevelopment supporting apparatus that supports the development of a GUIapplication that has cursor display information with respect to agraphical user interface (GUI),

-   -   the GUI application development supporting apparatus        characterized in that it includes:    -   a graphics representation program file that stores a program        related to graphics representation for a cursor or a component        on which the cursor is set;    -   an image storage section that stores animation image data that        can be read in accordance with the execution of the        above-mentioned graphics representation program; and    -   an edit processing section that executes a process of        associating image data that is read at the time of execution of        the above-mentioned graphics representation program in        accordance with the state of the cursor or the component located        where the cursor is set.

Further, an embodiment of a GUI application development supportingapparatus of the present invention is characterized in that theabove-mentioned edit processing section has a configuration where itexecutes, with respect to a focused-state component which is in a statewhere the cursor is set, a process of associating an animation that hasdirectional information indicating a direction in which the cursor canmove.

Further, an embodiment of a GUI application development supportingapparatus of the present invention is characterized in that theabove-mentioned edit processing section has a configuration where it iscapable of setting different read image data in association with each ofa focused state where the above-mentioned cursor is set on a componentand a cursor moving state where the above-mentioned cursor moves betweencomponents.

Further, an embodiment of a GUI application development supportingapparatus of the present invention is characterized in that theabove-mentioned edit processing section has a configuration where it iscapable of setting different read image data in association with each ofthe state of the above-mentioned cursor or of the component locatedwhere the cursor is set.

Further, an embodiment of a GUI application development supportingapparatus of the present invention is characterized in that theabove-mentioned edit processing section is of a configuration where aGUI component is generated by combining a logical componentcorresponding to a component and a graphics representation componentincluding the above-mentioned graphics representation program file, andis of a configuration where the above-mentioned edit processing sectiongenerates a GUI component in which image data according to the cursor orcomponent state is associated with the above-mentioned graphicsrepresentation component.

Further, the second aspect of the present invention is a GUI displayapparatus that executes animation representation of a cursor or a GUIcomponent on which the cursor is set on a display, the GUI displayapparatus characterized in that it includes:

-   -   a focus navigator that executes a search process by a search        engine based on cursor movement instruction input information        and determines a cursor move destination;    -   a focus manager that executes a move process for a cursor in        accordance with cursor move destination instruction information        determined by the above-mentioned focus navigator; and    -   a focus object that executes an animation display process        according to the state of the cursor or a GUI component on which        the cursor is set that accompanies the cursor movement executed        by the above-mentioned focus manager.

Further, an embodiment of a GUI display apparatus of the presentinvention is characterized in that images constituting theabove-mentioned animation include an image that has directionalinformation indicating a direction in which the cursor can move, and inthat the above-mentioned focus object is of a configuration where itexecutes, with respect to a component in a focused state, an animationdisplay process based on the above-mentioned image having directionalinformation.

Further, an embodiment of a GUI display apparatus of the presentinvention is characterized in that the above-mentioned focus object isof a configuration where it executes animation display processescomprised of images that differ between a focused state where the cursoris set on a component and a cursor moving state where the cursor movesbetween components.

Further, the third aspect of the present invention is a GUI applicationprogram generating method that generates a GUI application that hascursor display information with respect to a graphical user interface(GUI),

-   -   the GUI application program generating method characterized in        that it includes:    -   a graphics representation component selection step of        selectively extracting a graphics representation component from        a graphics representation program file storage section that        stores a program related to graphics representation for a cursor        or a component on which the cursor is set; and    -   an edit processing step of setting image data according to the        state of the cursor or the component located where the cursor is        set in association with the graphics representation component        selected in the above-mentioned graphics representation        component selection step.

Further, an embodiment of a GUI application program generating method ofthe present invention is characterized in that the above-mentioned editprocessing step includes a step of executing, with respect to afocused-state component which is in a state where the cursor is set, aprocess of associating an animation having directional informationindicating a direction in which the cursor can move.

Further, an embodiment of a GUI application program generating method ofthe present invention is characterized in that the above-mentioned editprocessing step includes a step of setting different read image data inassociation with each of a focused state where the above-mentionedcursor is set on a component and a cursor moving state where theabove-mentioned cursor moves between components.

Further, an embodiment of a GUI application program generating method ofthe present invention is characterized in that the above-mentioned editprocessing step includes a step of setting different read image data inassociation with each of the state of the above-mentioned cursor or of acomponent located where the cursor is set.

Further, an embodiment of a GUI application program generating method ofthe present invention is characterized in that the above-mentioned editprocessing step includes a step of generating a GUI component bycombining a logical component corresponding to a component and agraphics representation component including the above-mentioned graphicsrepresentation program file, and a step of generating a GUI component inwhich image data according to the state of the cursor or of thecomponent is associated with the above-mentioned graphics representationcomponent.

Further, the fourth aspect of the present invention is an animationdisplay processing method that executes, on a display, animationrepresentation of a cursor or of a GUI component on which the cursor isset,

-   -   the animation display processing method characterized in that it        includes:    -   a step of executing a search process by a search engine based on        cursor move instruction input information and determining a        cursor move destination;    -   a step of executing a move process of the cursor in accordance        with the determined move destination instruction information for        the cursor; and    -   an animation display step of executing an animation display        process according to the state of the cursor or a GUI component        on which the cursor is set that accompanies cursor movement.

Further, an embodiment of an animation display processing method of thepresent invention is characterized in that images constituting theabove-mentioned animation include an image having directionalinformation indicating a direction in which the cursor can move, and inthat the above-mentioned animation display step executes, with respectto a component in a focused state, an animation display process based onthe above-mentioned image having directional information.

Further, an embodiment of an animation display processing method of thepresent invention is characterized in that the above-mentioned animationdisplay step executes an animation display process comprised of imagesthat differ between a focused state where the cursor is set on acomponent and a cursor moving state where the cursor moves betweencomponents.

Further, the fifth aspect of the present invention is a computer programthat executes a GUI application program generating process having cursordisplay information with respect to a graphical user interface (GUI),

-   -   the computer program characterized in that it includes:    -   a graphics representation component selection step of        selectively extracting a graphics representation component from        a graphics representation program file storage section that        stores a program related to graphics representation for a cursor        or a component on which the cursor is set; and    -   an edit processing step of setting image data according to the        state of the cursor or of the component located where the cursor        is set in association with the graphics representation component        selected in the above-mentioned graphics representation        component selection step.

Further, the sixth aspect of the present invention is a computer programthat executes, on a display, an animation display process for a cursoror a GUI component on which the cursor is set,

-   -   the computer program characterized in that it includes:    -   a step of executing a search process by a search engine based on        cursor move instruction input information and determining a        cursor move destination;    -   a step of executing a move process of the cursor in accordance        with the determined move destination instruction information for        the cursor; and    -   an animation display step of executing an animation display        process according to the state of the cursor or a GUI component        on which the cursor is set that accompanies cursor movement.

According to a GUI application development supporting apparatus of thepresent invention, since a configuration is adopted where there isincluded a graphics representation program file that stores a programrelated to graphics representation for a cursor or a component on whichthe cursor is set, an image storage section that stores animation imagedata that can be read in accordance with the execution of the graphicsrepresentation program, and an edit processing section that executes aprocess of associating image data that is read at the time of executionof the graphics representation program in accordance with the state ofthe cursor or the component located where the cursor is set, and where,at the edit processing section, different read image data can be set inassociation with each of the state of the cursor or of the componentlocated where the cursor is set, it becomes possible to freely setanimation according to the cursor state, and it becomes possible toeasily carry out a process of setting optimal animation corresponding tothe cursor that is adapted to the GUI-equipped device.

Further, according to a configuration of the present invention, since itis made possible, with respect to a focused-state component in a statewhere a cursor is set, to execute a process of associating animationhaving directional information indicating a direction in which thecursor can move, it becomes possible to provide a GUI that is easy tooperate for the user.

Further, according to a configuration of the present invention, since aconfiguration is adopted where the logical part and the graphicsrepresentation part of a component are configured separately, a GUIcomponent is generated based on the logical part and the graphicsrepresentation part, and the graphics representation part is made tohave an animation execution function based on images according to thestate of the cursor or the component, it becomes possible to easily setor alter the mode of animation for the component or the cursor.

Further, according to a GUI display apparatus of the present invention,since a configuration is adopted where a search process by a searchengine is executed and a cursor move destination determined based oncursor move instruction input information, and a cursor move process isexecuted in accordance with the determined cursor move destinationinstruction information, while at the same time an animation displayprocess according to the state of the cursor or a GUI component on whichthe cursor is set that accompanies cursor movement is executed, a GUIthat is highly visually effective and makes it possible to readilyidentify the movement status of the cursor and the component on whichthe cursor is set is realized.

Further, with a GUI display apparatus of the present invention, since aconfiguration is adopted where an animation display process comprised ofan image having directional information indicating a direction in whicha cursor can move is executed, a GUI that is easy to operate for theuser is realized.

In addition, a computer program of the present invention is a computerprogram that can be provided to, for example, a general-purpose computersystem, which is capable of running various program codes, throughstorage media and communications media that provide them in a computerreadable format, examples of which include recording media such as CDs,FDs, MDs and the like, or communications media such as networks. Byproviding such a program in a computer readable format, a processaccording to the program is realized on a computer system.

Other objects, features and advantages of the present invention shouldbecome apparent from a more detailed description based on embodiments ofthe present invention that are described below and from the appendeddrawings. A system as used in the present description refers to alogical aggregate configuration of a plurality of apparatuses, and isnot limited to one in which each constituent apparatus resides in thesame body.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing a hardware configuration example of a GUIapplication development supporting apparatus of the present invention;

FIG. 2 is a block diagram showing the functional configuration of a GUIapplication development supporting apparatus of the present invention;

FIG. 3 is a sequence diagram illustrating the processing sequence of aGUI application development supporting apparatus of the presentinvention;

FIG. 4 is a sequence diagram illustrating the processing sequence of aGUI application development supporting apparatus of the presentinvention;

FIG. 5 is a diagram illustrating an example of a file configurationnecessary for executing processes of a GUI application developmentsupporting apparatus of the present invention;

FIG. 6 is a diagram illustrating a display example of a GUI componentgenerated with a GUI application development supporting apparatus of thepresent invention;

FIG. 7 is a diagram illustrating a display example of a GUI componentgenerated with a GUI application development supporting apparatus of thepresent invention;

FIG. 8 is a diagram illustrating an example of a process, which isexecuted with a GUI application development supporting apparatus of thepresent invention, of setting animation corresponding to the state ofeach component;

FIG. 9 is a block diagram showing a functional configuration for settingan animation process of a component with a GUI application developmentsupporting apparatus of the present invention;

FIG. 10 is a diagram illustrating a process example of a process ofexecuting animation corresponding to the state of a component generatedwith a GUI application development supporting apparatus of the presentinvention;

FIG. 11 is a block diagram showing a configuration that performs animage data setting processing function corresponding to a cursor in aGUI application development supporting apparatus of the presentinvention;

FIG. 12 is a block diagram showing a configuration that performs aprocess of displaying image data corresponding to cursor movement or acursor in a GUI display apparatus of the present invention;

FIG. 13 is a diagram showing a configuration example of a remote controlthat comes with a GUI-equipped device and which is capable ofinstructing cursor movements;

FIG. 14 is a diagram showing an example of animation display thataccompanies a cursor movement on a GUI displaying display;

FIG. 15 is a diagram showing an example of a cursor movement betweencomponents on a GUI displaying display;

FIG. 16 is a diagram showing an example of displaying a cursor movabledirection identification mark for a component on a GUI displayingdisplay;

FIG. 17 is a diagram showing a flowchart illustrating a procedure fordetermining a move destination and for displaying movable directioninformation in a cursor move process; and

FIG. 18 is a block diagram showing a configuration example of a GUIdisplay apparatus.

BEST MODES FOR CARRYING OUT THE INVENTION

Below, a GUI application development supporting apparatus, a GUI displayapparatus, method and computer program of the present invention will bedescribed in detail with reference to the drawings.

[1. Hardware Configuration]

First, a hardware configuration example of a GUI application developmentsupporting apparatus of the present invention will be described withreference to FIG. 1. Each element within a GUI application developmentsupporting apparatus 100 will be described with reference to FIG. 1. ACPU (Central Processing Unit) 101, which is the main controller of theGUI application development supporting apparatus 100, executes variouskinds of GUI application development programs under the control of anoperating system (OS). The CPU 101 performs, for example, the executionof a program creating process based on the Java language, specificallyprocesses of setting functions, setting the display image and the likeof each component, such as buttons, combo boxes and the like, that isset on a GUI screen. As shown in drawing, the CPU 101 is interconnectedwith other constituent parts through a bus 107.

A memory 102 is a storage device that is used to store program codes tobe run by the CPU 101 or to temporarily store working data underexecution. The memory 102 shown in the same diagram includes both anon-volatile memory such as ROM as well as a volatile memory such asDRAM.

A graphics processing chip 150 is a chip into which is incorporated adedicated processing circuit that executes color processing for variousGUI components.

A display controller 103 as a display control section is a dedicatedcontroller for actually processing draw commands issued by the CPU 101.The draw data processed by the display controller 103 is screenoutputted by a display 108 after, for example, being once written in aframe buffer (not shown). For example, an image reproduced from a HDD(111) or an image processed by the CPU 101 may be displayed on thedisplay 108, and a user may view the presented screen.

An input device interface 104 is an apparatus for connecting user inputdevices, such as a keyboard 109, a mouse 110 and the like, to the GUIapplication development supporting apparatus 100. The user is able toinput commands for processing or displaying images and the like throughthe keyboard 109 and the mouse 110.

In compliance with a predetermined communications protocol such asEthernet, a network interface 105 is capable of connecting the GUIapplication development supporting apparatus 100 to a local network suchas a LAN (Local Area Network), and further to a wide area network suchas the Internet.

A plurality of host terminals and servers (not shown) are connected on anetwork in a transparent state and a distributed computing environmentis constructed. Distribution services of software programs and datacontents can be provided on the network. For example, image data fromanother server in which moving images, still images and the like arestored can be downloaded to the HDD (111) via the network.

An external device interface 106 is an apparatus for connecting externalapparatuses, such as a digital camera, the hard disk drive (HDD) 111, amedia drive 112 and the like, to the GUI application developmentsupporting apparatus 100.

The HDD 111 is an external storage apparatus in which a magnetic disk asa storage medium is fixedly mounted, and is advantageous in terms ofstorage capacity, data transfer rate and the like, and allows for randomaccess. For example, program installation where a software program isstored on the HDD 111 in an executable condition is possible. On the HDD111, program codes of the operating system, application programs anddevice drivers to be run by the CPU 101 are stored in a non-volatilemanner.

The media drive 112 is an apparatus into which portable media 160, suchas a CD (Compact Disc), an MO (Magneto-Optical disc), a DVD (DigitalVersatile Disc) and the like, can be loaded, and which is for accessingthe data recording surface thereof.

The portable media 160 are used primarily for purposes such as backingup software programs, data files and the like as data in a computerreadable format, and transferring them between systems (that is,including sales, circulation and distribution). It is possible tophysically circulate and distribute an application program forperforming various processes between a plurality of devices using theseportable media.

In addition, an apparatus such as the one shown in FIG. 1 can berealized as a compatible machine or a succeeding machine of IBMCorporation's personal computer “PC/AT (Personal Computer/AdvancedTechnology.” Naturally, it is also possible to apply a computer equippedwith a different architecture.

[2. Functional Configuration]

Next, the functional configuration of a GUI application developmentsupporting apparatus of the present invention that develops a GUIapplication by separately configuring the logical part and the graphicsrepresentation part of each component that is set in a graphical userinterface (GUI) will be described with reference to FIG. 2.

As shown in FIG. 2, a GUI application development supporting apparatusof the present invention has a component storage section 200 in whichvarious parts (components) to be set on a screen that is to serve as auser interface, such as buttons, combo boxes, lists, windows, text boxesand the like, are stored. The component storage section 200 includes alogical component storage section 201, a graphics representationcomponent storage section (Simple) 202 and a graphics representationcomponent storage section (Rich) 203.

The logical component storage section 201 is a component that storeslogical information regarding various parts (components) to be set on ascreen that is to serve as a user interface, such as buttons, comboboxes, lists, windows, text boxes and the like. For example, if it werea button, it is configured as a software program component that definesfunctions, such as the process for when it is turned on, the process forwhen it is turned off and the like, as functions of the button.

On the other hand, the graphics representation component storage section(Simple) 202 and the graphics representation component storage section(Rich) 203 are configured as software program components that storedisplay image information of components, that is, as software programcomponents that store a graphics representation program. The graphicsrepresentation component storage section (Simple) 202 and the graphicsrepresentation component storage section (Rich) 203 are components thateach store a program that executes a different graphics representation.

An image data storage section 205 stores image data such as, forexample, jpeg, gif and the like. By associating these image data withthe graphics representation component of each component, animationdisplay based on image data according to various operations ofcomponents becomes possible. Such animation setting processes will bedescribed later.

An operator as a developer of GUI application programs executes variousdata input with respect to an edit processing section 210 via a datainput/output section 220, and constructs a GUI component by setting thefunction and graphical image of each component, such as a button, combobox or the like.

A creation process execution program for components is, for example, oneclass (factory class) of a JAVA program. The edit processing section 210creates various components by executing the factory class. In addition,processing by the edit processing section 210 is, in the case of thehardware configuration shown in FIG. 1, is processing executed under thecontrol of the CPU 101.

Components are edited at the edit processing section 210 as GUIcomponents for which “property” as attribute information such as, forexample, shapes of buttons, position information and the like, “method”as a process as the result of an action for a component, and further“event” as a function for, when an action with respect to a component,such as the arrival of data, the occurrence of an interruption, thealteration of properties, the calling of a method or the like, occurs,communicating the event to another component are defined.

The edit processing section 210 includes a property editing section 211that edits properties set for components, a method editing section 212that edits methods, and an event editing section 213 that edits events.

In setting the look, that is, the graphics representation, of a GUIcomponent to be generated, the operator inputs look & feel packagespecification data with respect to the edit processing section 210 thatexecutes the factory class. In other words, the operator specifieseither “Rich” or “Simple.”

In accordance with this specification data, the factory class isexecuted at the edit processing section 210, and depending on thespecification data, the corresponding program component is read fromeither the graphics representation component storage section (Simple)202 or the graphics representation component storage section (Rich) 203,while at the same time the component is generated along with a componentread from the logical component storage section 201.

For example, in generating a GUI component with respect to a button, abutton component is read from the logical component storage section 201that stores components in which logical information regarding componentsis stored, and further, depending on the look & feel packagespecification data from the operator, namely the specification data ofeither “Rich” or “Simple,” a component storing a graphics representationprogram of the button is read from the graphics representation componentstorage section (Simple) 202 or the graphics representation componentstorage section (Rich) 203, and a single button component is generatedby combining the logical component and either the “Rich” or “Simple”graphics representation component.

A similar editing process is executed for various components other thanbuttons, such as combo boxes, lists, windows, text boxes and the like,and after the editing process, the set GUI application program is storedin a program storage section 221, executed at a program executionsection 222, and the generated GUI is displayed on a display section223.

In addition, in the embodiment described above, an example was describedwhere only the two types of “Simple” and “Rich” were set for componentsthat store a graphics representation program, but the number of typesmay also be set to an arbitrary number of 3 and above, and the operatormay input some specification data of the graphics representationcomponents that are set, whereby a graphics representation component isselected in accordance with the specification data, and various GUIcomponents created.

[3. Processing Sequence]

Next, the procedures in a process for generating a GUI component byapplying a GUI application development supporting apparatus of thepresent invention will be described with reference to FIG. 3 and FIG. 4.

FIG. 3 is a diagram that shows a processing sequence in which the“Simple” graphics representation component is selected and a GUIcomponent generated. In FIG. 3, there is shown, from the left, each ofthe processes of the operator, GUI generating application, componentfactory, graphics representation part and logical part. The processes ofthe graphics representation part and the logical part correspond to theexecution of the programs stored in the components read from thegraphics representation component storage section (Simple) 202 and thelogical component storage section 201 shown in FIG. 2, and theseprocesses as well as the process of the component factory are executedat the edit processing section 210 in FIG. 2.

First, in step S101, the operator inputs a create command (Create) for aGUI component to the GUI generating application. This create command(Create) for the GUI component is inputted along with data thatspecifies the kind of the component, such as, for example, “button,”“list,” “combo box,” “radio button,” “window” and the like.

Further, in step S102, a “look & feel” specification for specifying thegraphics representation is outputted from the operator to the componentfactory via the application. Here, it is assumed that “Simple” isspecified as the “look & feel” specification.

Next, in step S103, a component create command is outputted to thecomponent factory from the application. Identification data thatindicates the component kind specified in the previous step S101 isincluded in this command.

In step S104, the component create command (Create) is outputted fromthe component factory with respect to the graphics representation part(Simple) and the logical part, and the creation of a component isexecuted in accordance with the stored programs of the logical part andthe graphics representation part.

The processes subsequent to step S105 show a processing sequence in acase where a component is processed by the application, for example asin when an open process command for a “window” as a component isperformed. An open process command for a component from the applicationis handed to the logical part, and based on the execution of the programof the logical part, a paint command is handed to the graphicsrepresentation part (Simple). The graphics representation part (Simple)executes paint processing for the component based on the inputtedcommand from the logical part.

Here, since the graphics representation part adopted for componentgeneration is “Simple,” the generated component to be displayed on thedisplay, namely buttons and the like, take on a simple configuration inwhich color settings by paint are done.

Next, a processing sequence in which the “Rich” graphics representationcomponent is selected and a GUI component generated will be describedwith reference to FIG. 4. As in FIG. 3, from the left, there are showneach of the processes by the operator, GUI generating application,component factory, graphics representation part and logical part. As inFIG. 3, the processes of the graphics representation part and thelogical part correspond to the execution of the programs stored in thecomponents read from the graphics representation component storagesection (Simple) 202 and the logical component storage section 201 shownin FIG. 2, and these processes as well as the process of the componentfactory are executed at the edit processing section 210 in FIG. 2.

First, in step S201, the operator inputs a create command (Create) for aGUI component to the GUI generating application. This create command(Create) for the GUI component is inputted along with data thatspecifies the kind of the component, such as, for example, “button,”“list,” “combo box,” “radio button,” “window” and the like.

Further, in step S202, a “look & feel” specification for specifying thegraphics representation is outputted from the operator to the componentfactory via the application. Here, it is assumed that “Rich” isspecified as the “look & feel” specification.

Next, in step S203, a component create command is outputted to thecomponent factory from the application. Identification data thatindicates the component kind specified in the previous step S201 isincluded in this command.

In step S204, the component create command (Create) is outputted fromthe component factory with respect to the graphics representation part(Simple) and the logical part, and the creation of a component isexecuted in accordance with the stored programs of the logical part andthe graphics representation part (Rich).

The processes subsequent to step S205 show a processing sequence in acase where a component is processed by the application, for example asin when an open process command for a “window” as a component isperformed. An open process command for a component from the applicationis handed to the graphics representation part, and animation is executed(S206) based on the execution of an animation program stored in thegraphics representation part.

Further, in step S207, the open process command is handed to the logicalpart, and based on the execution of the program of the logical part, apaint command is handed to the graphics representation part (Simple),and the graphics representation part (Rich) executes paint processingfor the component in accordance with the inputted command from thelogical part.

In the sequence diagram shown in FIG. 4, since the graphicsrepresentation part adopted for component generation is “Rich,” thegenerated component to be displayed on the display, namely buttons andthe like, take on a configuration in which not only color settings bypaint are done, but also animation representation is executed.

[4. File Configuration Example]

A file configuration example for executing such component display asmentioned above will be described.

For example, as files in a case where a “buttcon” component, as an iconhaving the functionality of a button as an example of a GUI component,is configured as a GUI component, each of the following files, forexample, becomes necessary.

-   -   Cbuttcon.java: a class for implementing the logical part of the        buttcon,    -   Buttcon.java: a class for implementing the look & feel part as        the graphics representation part of the buttcon,    -   buttcon_normal_off.gif: the image when the buttcon is “off,”    -   buttcon_normal_on.gif: the image when the buttcon is “on,”    -   buttcon_pushed.gif: the image when the buttcon is being pushed,    -   CComponentFactory.java: a factory class, which the application        uses to create the buttcon;    -   Application.java: an application for displaying the created        buttcon.

A class refers to an executable unit of program in Java.

The directory configuration of each of the files above is shown in FIG.5. A [customtoolkit] file as a tool kit exists below some GUIapplication file [application], and in this file are includedCButtcon.java: a class for implementing the logical part of the buttcon,CComponentFactory.java: a factory class that the application uses tocreate the buttcon and further a look & feeel file [laf] as graphicsrepresentation information.

Buttcon.java: a class for implementing the look & feel part as thegraphics representation part of the buttcon, that is, a classcorresponding to the graphics representation component described above,is included in the look & feeel file [laf]. Further, as image data files[image], each of buttcon_normal_off.gif: the image for when the buttconis “off,” buttcon_normal_on.gif: the image for when the buttcon is “on,”and buttcon_pushed.gif: the image for when the buttcon is being pushedis included.

The GUI application program, in accordance with the user's inputinformation, executes a process in which the processing programs andimage data included in each of these files are applied. Specifically,both various function executing processes that follow the program of thelogical part class as well as various graphics representation processesthat follow the program of the graphics representation part class areexecuted.

[5. Display Example]

Next, with reference to FIG. 6 and FIG. 7, a display processing examplefor GUI components generated based on a configuration in which thelogical part and the graphics representation part of each component areseparated will be described.

FIG. 6 shows an example in which each component is generated anddisplayed while applying the graphics representation part (Simple). Adescription will be given taking a button 311 and a combo box 312 asexamples of GUI components.

When the button 311 is manipulated, for example when the button isturned on, turned off, or when focus settings, in other words cursorsettings, are carried out, processes based on on and off operations ofthe button are executed by processes of the logical part of the buttoncomponent. Further, through, for example, a paint command from thelogical part, the graphics representation part (Simple) is executed, andpaint processing, that is, a process of changing the displayed color ofthe button, is carried out.

When the combo box 312 is manipulated, for example when the combo box312 is opened, closed, etc., processes based on opening and closingoperations of the combo box are executed by processes of the logicalpart of the combo box component. Further, through, for example, a paintcommand from the logical part, the graphics representation part (Simple)of the combo box component is executed, and paint processing, that is, aprocess such as changing the displayed color of the combo box, iscarried out.

In addition, what kind of graphics representation is to be executedthrough a process from the operator may be set differently for each GUIcomponent. In other words, by altering the processing program of thegraphics representation part (Simple), graphics representationprocessing that suits each component becomes possible.

FIG. 7 shows an example in which each component is generated anddisplayed while applying the graphics representation part (Rich). Adescription will be given taking a button 320 and a combo box 330 asexamples of GUI components.

When the button 320 is manipulated, for example when the button isturned on, turned off, or when focus settings, in other words cursorsettings, are carried out, animation 321 and 322 are executed asprocesses of the graphics representation part (Rich) of the buttoncomponent in addition to the paint processing described above. Though itis hard to see from the diagram, in (b) and (c), an animation where aripple propagates around the button is executed. In addition, throughprocesses of the logical part, processes based on on and off operationsof the button are executed.

When the combo box 330 is manipulated, for example when the combo box330 is opened, closed, etc., processes based on opening and closingoperations of the combo box are executed by processes of the logicalpart of the combo box component, while at the same time animations 331and 332 are executed as processes of the graphics representation part(Rich) of the combo box component. Though it is hard to see from thediagram, in (b) and (c), an animation that is set so that it extendsdownward from the lower portion of the combo box is executed.

[6. Animation Setting and Executing Process]

Next, a process of setting and executing animation for GUI components,such as windows, buttons, combo boxes, lists and the like, will bedescribed.

FIG. 8 is a diagram showing a processing screen for setting image datafor executing animation with respect to a component. A configuration isadopted where component [Button] is set in a component specifying field351, an image data setting field 352 is configured therebelow, and theimage to be called (jpeg) at each component state, that is under anormal state, or under on, off and focus settings and the like, can beset individually. Focus setting refers to a state where a cursor is seton that component, and the component is in a state where it is capableof operations such as on and off.

For example, when an on process is to be carried out, an animation indexmethod is called and executed in accordance with a program defined forthe graphics representation component. Through the execution of theanimation index method, Jpeg images 11 through 21 are read from imagefile [Image], and the image of a button displayed on the GUI based onthese plurality of images is displayed in animation. When an off processis to be carried out, Jpeg images 31 through 38 are read from image file[Image], and the image of a button displayed on the GUI based on theseplurality of images is displayed in animation.

In the example shown in FIG. 8, there is shown an example having thefour states of Normal, On, Off and Focus as component states. However,state definitions are not limited to these, and may be defined asfollows, for example, and such a configuration may be adopted whereimage data is set according to each state.

-   -   NORMAL: a normal state    -   NORMAL DEACTIVATED: a normal state that is not active    -   FOCUSED: a focused state    -   FOCUSED DEACTIVATED: a normal state that is not active    -   PUSHED: a pushed state    -   PUSHED DEACTIVATED: a pushed state that is not active    -   DISABLED: an inoperable state    -   DISABLE DEACTIVATED: an inoperable state that is not active.

By setting different image data that constitute animation in associationwith each of the eight states above, it becomes possible for a user tounderstand the state of a component according to the animation. Inaddition, a state that is not active refers to cases such as a statewhere it is displayed in a window that is not subject to operation.

Thus, for each component, individual image files can be set so as tocorrespond to processes, and it becomes possible to freely set optimalanimation representation that corresponds to various processes. In thedrawing, there is shown an example where an animation for a button isbeing set, but, similarly, setting animations that correspond to variousprocesses is possible for other components, too.

For example, various animations are set by having images eachindividually selected and set from image files for an animation at open,an animation at close and the like for a combo box.

A GUI application development supporting apparatus for executing theanimation display setting process described above by setting image datacorresponding to the state of each component is realized through theconfiguration previously described with reference to FIG. 1 and FIG. 2.However, a processing configuration limited to the function for carryingout the process of setting image files according to each component statewill be described with reference to the block diagram shown in FIG. 9.

As shown in FIG. 9, the GUI application development supporting apparatushas a component storage section 400 that stores various components, suchas buttons, combo boxes, lists, windows, text boxes and the like, to beset on a screen as a user interface. The component storage section 400has a logical component storage section 401 as a software programcomponent that defines the processing functions of components, and agraphics representation component storage section 402 as a softwareprogram component that defines the graphics representation ofcomponents. In addition, graphics representation components may be, asdescribed above, configured as a plurality of different components thatexecute a plurality of kinds of graphics representations such as Simple,Rich, and the like.

An image data storage section 403 stores image data that are read inaccordance with animation index methods that are called by executing agraphics representation class as a program stored in the graphicsrepresentation components stored in the graphics representationcomponent storage section 402. Image data are data files of, forexample, jpeg, gif and the like, and correspond to each of the graphicsrepresentation components stored in the graphics representationcomponent storage section 402.

An operator as a developer of GUI application programs executes variousdata input with respect to an edit processing section 410 via a datainput/output section 420, and constructs a GUI component by setting thefunction and graphical image of each component, such as a button, combobox or the like.

A creation process execution program for components is, for example, oneclass (factory class) of a JAVA program. The edit processing section 410creates various components by executing the factory class. In addition,processing by the edit processing section 410 is, in the case of thehardware configuration shown in FIG. 1, is processing executed under thecontrol of the CPU 101.

In the process of setting animation, as was described with reference toFIG. 8, a process of associating image data to be read according to thestate of a component is executed in the edit processing section 410.This process is executed as part of an editing process for the“property,” “method,” and “event” of a component.

In setting the look, that is, the graphics representation, of a GUIcomponent to be generated, the operator inputs look & feel packagespecification data with respect to the edit processing section 410 thatexecutes the factory class. In other words, the operator specifieseither “Rich” or “Simple,” and further, as described with reference toFIG. 8, sets image data to be read according to the state of acomponent.

In accordance with such settings information, a GUI application programhaving various components is generated, the generated GUI applicationprogram is stored in a program storage section 421, is executed at aprogram execution section 422, and the generated GUI is displayed on adisplay section 423.

The process at the time of animation execution, that is the process at aGUI display apparatus, will be described with reference to FIG. 10. Adisplay process for animation 514 of a button as a GUI component shownon a display 513 will be described.

For example, if the component is a button component, the animationdisplay process is executed by a graphics representation class 511 of agraphics representation component included in the button component. Inaccordance with a program defined for the graphics representation class511, an animation index method is called, the Jpeg images 11 through 21set in the setting process described previously with reference to FIG. 8are read from an image file [Image] 512, and the image of a button thatis GUI displayed based on these plural images is displayed as theanimation 514.

Here, an example is shown where an animation in which a ripplepropagates around the button is displayed. The image file [Image] 512can be stored by securing a partial region of the memory 102, the HDD111 or some other storage means of the hardware configuration of FIG. 1and setting it as an image file storage section.

In summarizing the processes described above as an animation displayprocessing method sequence for a GUI component to be displayed on adisplay, it can be summarized as an execution step comprising:

-   -   (1) a class execution step of executing a graphics        representation class of a graphics representation component that        is associated with the component;    -   (2) an image reading step of reading pre-set image data from an        image file in accordance with an animation index method called        in the class execution step; and    -   (3) a step of displaying on a display the image data read in the        image reading step.

These processing steps are recorded as a program for executing a GUIapplication, and are executed in accordance with GUI operations by auser, in other words, animation display is carried out.

In addition, for the animation of components like buttons, variousanimations can be set easily by altering the called image data. Forexample, various animations may be set, such as generating concave- orconvex-shaped distortions in a button, or changing the color as on andoff operations of the button. In addition, it is also possible to adopta configuration where animation is continuously executed when in afocused state where a cursor is set thereon, and not just at the time ofon and off operations. This is realized by calling an animation indexmethod, and reading and executing a focus image file from image datawith the overlapping of the cursor position over the button componentposition as a condition therefor.

In addition, as described with reference to FIG. 2, a plurality ofgraphics representation components storing different graphicsrepresentation process execution programs are prepared in the graphicsrepresentation component storage section even for the same component, abutton for example, as in Simple, Rich or the like. In the example inFIG. 2, only the two kinds of Simple and Rich are shown, but, further,the setting of a plurality of graphics representation components, suchas Rich 1, Rich 2, . . . and the like, is possible.

For each of these graphics representation components, it is possible toassociate individual read image files that are each different. Even fora button that has the same function, the graphics representationcomponent to be applied is determined by the initial look & feel packagespecification, and animation that is set in correspondence with thatcomponent is displayed. Thus, it becomes possible to carry out variousdifferent animation displays in accordance with the look & feel packagespecification.

[7. Animation Representation of Cursor]

As described above, components such as buttons, combo boxes and the likeeach have a logical part and a graphics representation part asindividual software programs, and further, the graphics representationprogram has a configuration in which it is possible to select from aplurality of files, such as Simple, Rich and the like.

Next, a graphics representation process for a cursor that is movable inaccordance with input from an input means, such as a mouse, a keyboard,arrow keys comprised of up/down/left/right instruction keys, or thelike, will be described. In the present description, cursor will be usedas an inclusive term for identification display for indicating aninstruction position on a window, and will be described as a conceptthat includes those of, for example, pointers, cursors and the like. Inaddition, when a cursor is at various component positions, such asbuttons, lists, combo boxes and the like, such components will be saidto be in a focused state.

As for the graphics representation of a component, as previouslydescribed, image files that are individually set according to thevarious states of the component, such as, to be more specific, forexample, if the component is a button, the button component being in apushed state, a focused state, or the like, are read, and animationdisplay is executed in accordance with the read image files.

The cursor executes animation representation not only when the cursor islocated over a specific component, in other words when the component isfocused, but also while moving between components, for example, when thecursor is moved from one button component to another button component.

The process for setting these various animations according to the stateof the cursor or the component located where the cursor is set can beexecuted through a process substantially similar to the previouslydescribed process for setting an image file for each of the componentstates, and a GUI application development supporting apparatus thatexecutes this setting process is realized through the configurationpreviously described with reference to FIG. 1 and FIG. 2. However, aprocessing configuration limited to the function for carrying out theprocess of setting image files according to the cursor will be describedwith reference to the block diagram shown in FIG. 11.

As shown in FIG. 11, the GUI application development supportingapparatus has a component storage section 560 that stores variouscomponents, such as buttons, combo boxes, lists, windows, text boxes andthe like, to be set on a screen as a user interface. The componentstorage section 560 has a logical component storage section 561 and agraphics representation component storage section 562. The graphicsrepresentation component storage section 562 contains a graphicsrepresentation program file corresponding to the cursor that stores aprogram related to graphics representation for the cursor or a componenton which the cursor is set.

An image data storage section 563 is a storage section that storesanimation image data that is read in accordance with the execution of agraphics representation program. The image data storage section 563contains cursor images, images for when the cursor is set on acomponent, in other words images for during focus settings, and further,arrow display images for arrow displaying a direction in which thecursor set on a component can move, which will be described later. Imagedata are, for example, image data files, such as jpeg, gif and the like.

An operator as a developer of GUI application programs executes theinputting of various data, commands and parameters with respect to anedit processing section 570 via a data input/output section 580, andexecutes a process of associating image data to be read according to thestate of the cursor or of a component located where the cursor is set.

At the edit processing section 570, a process of setting, as cursorcontrol programs, a focus navigator that executes a search process by asearch engine based on cursor move instruction input information anddetermines a cursor move destination, and a focus manager that executesa move process of the cursor in accordance with the cursor movedestination instruction information determined by the focus navigator isexecuted, and further, a process of setting a cursor move destinationselection algorithm that selects a single cursor move destination basedon the cursor move instruction input information is executed withrespect to the focus navigator. Details of the focus navigator and thefocus manager will be described later.

In addition, at the edit processing section 570, a process ofassociating, with respect to a focused state component in a state wherethe cursor is set, an image having directional information indicating adirection in which the cursor can move is executed. The processes at theedit processing section 570 are processes that are executed, in thehardware configuration diagram in FIG. 1, under the control of the CPU101.

According to such settings information, a GUI application program havingvarious components is generated, the generated GUI application programis stored in a program storage section 581 and executed at a programexecution section 582, and the generated GUI is displayed on a displaysection 583.

Next, a configuration for executing an animation representation processof the cursor in accordance with the generated GUI application program,in other words a functional configuration for carrying out processes byGUI-equipped devices, such as information appliances and the like, orGUI display apparatuses will be described with reference to the blockdiagram in FIG. 12.

A focus object 601 is a program file that has a program in which isdescribed the animation representation for the cursor or the location ofthe cursor. A focus manager 602 is a management program that executes amove process of the cursor in accordance with move destinationinstruction information of the cursor that is inputted from a focusnavigator 603, and that, in addition, executes such processes asnotifying an animation execution command to the focus object 601. Thefocus navigator 603 has a search engine 604, and based on user inputfrom an input section, such as a mouse, arrow keys and the like,executes a search process by the search engine 604, determines a movedestination of the cursor, and outputs the determined move destinationinformation of the cursor and the like to the focus manager 602.

The focus navigator 603 executes a cursor move destination determinationprocess in accordance with a cursor move destination selection algorithmthat selects a single cursor move destination based on cursor moveinstruction input information. The cursor move instruction inputinformation is, for example, move direction instruction information inone of the four directions of up/down/left/right, and the cursor movedestination selection algorithm executed by the focus navigator 603 is,for example, an algorithm that determines a single component from aplurality of components existing in the direction corresponding to themove direction instruction information to be the cursor movedestination.

As a user input device for specifying the cursor's movement, a remotecontrol having an output section, such as infrared and the like, forexample, is usable. A configuration example of a remote control is shownin FIG. 13. The controller shown in FIG. 13 includes a power switch 701for a device being controlled having a GUI, an output section 702comprised of an infrared output means or the like, a display 703, inputbuttons 704 for carrying out various specifications, and arrow keys 705that have the function of instructing up/down/left/right-ward moves ofthe cursor. The controller shown in FIG. 13 is only one example, andvarious configurations that suit the functions of the GUI-equippeddevice are possible. In addition, the input section is not limited to aremote control, and may be an input section that is integrated into theGUI-equipped device itself.

The cursor move processing sequence accompanying animationrepresentation will be described. When a user input from the inputsection, such as arrow keys and the like, is generated, the focusnavigator 603 receives the input information. The focus navigator 603executes a move destination search process, which applies the searchengine 604, based on the input information.

Based on the search result by the search engine 604, the focus navigator603 determines a move destination component. For the move destinationdetermination process mode, various modes may be applied, specificexamples of which will be described later.

Once the move destination is determined, the focus navigator 603 outputsa move destination instruction to the focus manager 602, and the focusmanager 602 executes a cursor move process towards the move destination.Further, the focus manager 602 outputs an animation execution command tothe focus object 601, and the focus object 601 runs an animationprocessing program, in other words, a read process and a display processof image files that are set so as to correspond to the cursor. Throughthis series of processes, a cursor move process in which animationrepresentation is carried out is performed.

An animation representation example during cursor movement is shown inFIG. 14. As described with reference to FIG. 12, the animation executionprocess is executed based on the reading of image data by the focusobject. The processing example in FIG. 14 shows a series ((a) through(d)) of display examples on a display starting from a button 721displayed on a display, the cursor moving to a button 722, the focusedstate of the button 721 being terminated, and up to the button 722entering a focused state.

In the example in FIG. 14, animation representation is executed whererectangular frames much like the shape of the button are sequentiallygenerated towards the direction in which the cursor moves, and where,along with the cursor movement, the trailing rectangular framesdisappear. These animation representations are ones that are performedby virtue of image data read by the focus object. The setting of theseimage data is an animation display based on image data that are set by aprocess that is similar to the process of setting image data accordingto the state of a component that was previously described with referenceto FIG. 8.

The focus navigator 603 receives input by a remote control such as theone shown in FIG. 13 or by arrow keys as an input section of the deviceitself, and determines a cursor move destination by a search processthat applies the search engine 604 based on the input information. Anexample of a process for determining the cursor move destination will bedescribed with reference to FIG. 15. FIG. 15 shows two different processexamples (a) and (b). Both show a process example where a user inputthat specifies a rightward movement is generated while a cursor islocated at a button 751 and the button 751 is in a focused state.

FIG. 15(a) is an example where, of the buttons A through C located tothe right of the button 751, the top-most button A is determined as themove destination, and FIG. 15(b) is an example where, of the buttons Athrough C located to the right of the button 751, the middle button B isdetermined as the move destination.

FIG. 15(a) is a process in which the top-most button is selected fromamong the buttons that are located to the right of the button 751, andthis process is executed by the focus navigator 603 based on coordinateinformation (X, Y) of each button component. For example, a process ofselecting buttons located to the right of the button 751 by a process ofcomparing the X coordinate of the button 751 and the X coordinate ofeach button component is executed, and, further, of the selected buttoncomponents, the one with the greatest Y coordinate is determined as thecursor move destination.

FIG. 15(b) is a process in which the button that is closest in distanceto the button 751 is selected from among the buttons that are located tothe right of the button 751, and this process is a move destinationselection process based on a process of calculating the distance fromthe button 751 based on the coordinate information (X, Y) of each buttoncomponent and a process of comparing the calculated results by the focusnavigator 603.

How the move destination is determined based on the user inputinformation is dependent upon programs executed by the focus navigator603 and the search engine 604, and through program settings, the movedestination determination algorithm based on the user input informationcan be set in a variety of ways. For example, as described above, it maybe made an algorithm that selects, of a plurality of components thatexist in the direction corresponding to the move direction instructioninformation, the component that is closest in distance from thecomponent on which the cursor is currently set, or an algorithm may beset where, of a plurality of components that exist in the directioncorresponding to the move direction instruction information, thecomponent at the furthest end is selected. These algorithm settingprocesses are executed at the edit processing section 570 (see FIG. 11)in the GUI application development supporting apparatus.

In addition, it is also possible to set in advance move destinationsthat correspond to input information in the logical components of suchcomponents as buttons and the like, and in this case, the movedestination search process by the focus navigator 603 is not executed,and the move destination is determined in accordance with the movedestination settings information that a component has.

Thus, the focus navigator executes a move destination determinationprocess that applies a search engine based on input information, but,further, makes it possible to acquire information regarding directionsin which each component can move, and to display, with respect to acomponent that has entered a focused state, such graphic images asarrows and the like that indicate directions in which the cursor is ableto move. This image display processing program can be set in a graphicsrepresentation component corresponding to a component as describedpreviously, or as a focus object corresponding to the cursor.

Examples of displaying arrows are shown in FIG. 16. In the displayexample of (a), components to which a cursor is able to move from abutton component 781 on which the cursor is set and which is in afocused state exist in the four directions of up/down/left/right. For acomponent in such a state, arrows that indicate the fact that thereexist movable components in the four directions of up/down/left/rightare displayed. In (b), components to which the cursor is able to movefrom a button component 782 in a focused state exist in the twodirections of up and right. For a component in such a state, arrows thatindicate the fact that there exist movable components in the twodirections of up and right are displayed.

In (c), a component to which the cursor is able to move exists only inthe downward direction with respect to a button component 783 in afocused state. For a component in such a state, an arrow is displayedonly in the downward direction. In (d), a component to which the cursoris able to move exists only in the upward direction with respect to abutton component 784 in a focused state. For a component in such astate, an arrow is displayed only in the upward direction.

Move destination determination and movable direction information displayprocedures in a cursor move process will be described with reference tothe flow shown in FIG. 17. First, in step S301, it is determined whetherthere has been any input from an input section, such as arrow keys andthe like, and if it is determined that there has been an input, theprocess proceeds to step S302, and it is determined whether or not acomponent at the cursor's present location has move informationrepresenting move destination instruction, for example, whether or notmove destination component information is contained in the logical partfile of the component. If the information is present, the processproceeds to step S310, the move destination is determined in accordancewith the move information, and in step S307, a cursor movement isexecuted with respect to the determined move destination.

If, in step S302, it is determined that the component in a focused statedoes not have information representing a move destination instruction,the process proceeds to step S303, a move destination search by a searchengine based on user input information is executed, and in step S304, afocus navigator determines the move destination based on the searchresult by the search engine. Further, in step S305, the focus navigatoracquires cursor movable direction information of a move destinationcomponent based on component location information in the surroundingfour directions of the move destination component.

In step S306, the move destination information determined by the focusnavigator and the movable direction information of the move destinationcomponent are handed to the focus manager, and in step S307, a cursormove process with respect to the move destination is executed.

In step S308, it is determined whether or not the focus manager hasreceived from the focus navigator the cursor movable directioninformation of the move destination component, and if not received, theprocess is terminated, whereas if received, a command for executing adisplay process for identification information (for example, arrows)based on movable direction information is outputted to a focus object,and the focus object executes an animation of arrow display inaccordance with the inputted command.

In other words, the focus object selects image data in accordance withthe movable direction information inputted from the focus manager, andexecutes, for example, an animation display comprised of images wherearrows are set in movable directions, which was previously describedwith reference to FIG. 16.

[8. GUI Display Apparatus Configuration Example]

Next, a configuration example of an apparatus, such as an informationappliance, having a graphical user interface (GUI) that executes variousdisplay processes that are in line with the description above will bedescribed with reference to FIG. 18.

As GUI-equipped devices, various household devices and communicationsdevices come to mind. The apparatus configuration example shown in FIG.18 shows one such example, and shows a GUI display apparatusconfiguration example that has a configuration where a moving image canbe played by receiving it via a network or by reading it from a storagemedium.

A GUI display apparatus 800 shown in FIG. 18 includes a communicationsinterface 801 for receiving Internet-distributed data, broadcast data orthe like, and receives HTML documents, movie contents and the like fromdata distribution sites. In addition, a storage medium interface 802 isa data transfer interface for such various storage media 820 as DVDs,flash memories and the like, and is an interface for inputting andoutputting such various contents as moving image data and the likebetween the storage media 820 and the data processing apparatus 800.

When contents sent from an image distribution site or contents stored onthe recording media 820 are encoded, they are displayed on a displayapparatus 810 under the control of a display control section 808 after adecoding process is executed at a decode/encode processing section 803.

On the other hand, various commands by the user or the previouslydescribed cursor move instruction information are inputted from acontroller 811, are received by a reception section 807, and areoutputted to a control section (CPU) 804. The control section 804executes various processes in accordance with the previously describedlogical component, graphics representation component and the like thatcorrespond to each component. In addition, a focus management process,in other words a cursor move destination component determination processaccompanying a cursor movement is executed. Further, an animationdisplaying process comprised of image data that indicate a movabledirection with, for example, arrows is executed in accordance with thefocus object.

The storage section in the GUI display apparatus 800 is a storagesection that is used for the storage of received data, for the storageof various processing programs, for the storage of preset display imageprograms, as a storage area as a work area of the CPU 804 or the like,and is comprised of RAM, ROM and the like. A timer 806 is used formeasuring the running time of the various programs in GUI processing.

The present invention has been described above in detail with referenceto specific embodiments. However, it should be obvious that it ispossible for those skilled in the art to make modifications andsubstitutions to these embodiments without departing from the scope ofthe present invention. In other words, the present invention has beendisclosed in the form of examples, which are not to be consideredrestrictive. In determining the scope of the present invention, theclaims described at the beginning should be taken into consideration.

In addition, the series of processes described in this specification canbe executed through hardware, software, or a composite configuration ofboth. In executing the processes through software, a program in whichthe processing sequence is recorded may be installed to a memory withina computer that is incorporated into dedicated hardware and executed, orthe program may be installed to a general-purpose computer that iscapable of executing various processes and executed.

For example, the program may be recorded in advance on a hard disk orROM (Read Only Memory) as recording media. Alternatively, the programmay be temporarily or permanently stored (recorded) on removablerecording media, such as flexible disks, CD-ROMs (Compact Disc Read OnlyMemory), MO (Magneto Optical) disks, DVDs (Digital Versatile Disc),magnetic disks, semiconductor memories and the like. Such removablerecording media may be provided as so-called packaged software.

In addition, besides being installed to a computer from such removablerecording media described above, the program may be transferredwirelessly to a computer from a download site, or may be transferred bywire to a computer via such networks as a LAN (Local Area Network) andthe Internet, and the computer may receive the program thus transferred,and install it to a recording medium such as a built-in hard disk or thelike.

In addition, the various processes described in the specification maynot only be executed chronologically as described, but also may beexecuted in a parallel manner or individually depending on theprocessing capability of the apparatus that executes the processes or asrequired. In addition, system as used in the present specificationrefers to a logical aggregate configuration of a plurality ofapparatuses, and is not limited to one in which each constituentapparatus resides in the same body.

INDUSTRIAL APPLICABILITY

As described above, since a GUI application development supportingapparatus of the present invention is given a configuration where it iscomprised of a graphics representation program file that stores aprogram related to graphics representation for a cursor or a componenton which the cursor is set, an image storage section that storesanimation image data that can be read in accordance with the executionof a graphics representation program, and an edit processing sectionthat executes a process of associating image data to be read at the timeof execution of the graphics representation program according to thestate of the cursor or of the component located at the position of thecursor, and where it is made possible to, at the edit processingsection, set different read image data in association with each of thestates of the cursor or of the component located where the cursor isset, it becomes possible to freely set animation that suits the cursorstate, and it becomes possible to carry out with ease an optimalanimation setting process corresponding to a cursor that is adapted to aGUI-equipped device.

Further, according to a configuration of the present invention, becauseit is made possible to execute, for a focused state component in a statewhere a cursor is set, a process of associating an animation havingdirectional information indicating a direction in which the cursor canmove, it becomes possible to provide a GUI that is easy to operate for auser.

Further, because a configuration is adopted where the logical part andthe graphics representation part of a component are configuredseparately, a GUI component based on the logical part and the graphicsrepresentation part is generated, and the graphics representation partis given an animation execution function based on images correspondingto the state of the cursor or the component, it becomes possible to setor alter with ease the mode of animation for the component or the cursorthrough a process that is independent of the logical part.

Further, for a GUI display apparatus of the present invention, since aconfiguration is adopted where a search process by a search engine basedon cursor move instruction input information is executed, a cursor movedestination is determined, and a move process of the cursor is executedin accordance with the determined cursor move destination instructioninformation, while at the same time an animation display processaccording to the state, which accompanies a cursor movement, of thecursor or of the GUI component on which the cursor is set, a highlyvisually effective GUI with which move conditions of the cursor and thecomponent on which the cursor is set can be identified readily isrealized.

Further, for a GUI display apparatus of the present invention, since aconfiguration is adopted where an animation display process comprised ofimages having directional information indicating a direction in whichthe cursor is able to move is executed, a GUI that is easy to operatefor a user is realized.

1-18. (canceled)
 19. A GUI display apparatus that carries out, on adisplay, animation representation for a cursor or a GUI component onwhich the cursor is set, the GUI display apparatus characterized in thatit comprises: a focus navigator that executes a search process by asearch engine based on cursor move instruction input information anddetermines a cursor move destination; a focus manager that executes amove process for the cursor in accordance with cursor move destinationinstruction information determined by said focus navigator; a focusobject that executes an animation display process according to a stateof the cursor or of the GUI component on which the cursor is set thataccompanies a cursor movement carried out by said focus manager; and aconfiguration by which animation representation of said GUI component isexecuted by sequentially generating an icon having a shape similar to ashape of said GUI component towards a moving direction, and by makingthe icon at a rear-side disappear along with the cursor movement. 20.The GUI display apparatus according to claim 19 characterized in thatimages constituting said animation representation include an imagehaving directional information indicating a direction in which a cursormovement is possible, and in that said focus object is of aconfiguration where an animation display process based on said imagehaving directional information is executed with respect to a componentin a focused state.
 21. The GUI display apparatus according to claim 19characterized in that said focus object is of a configuration where ananimation display process comprising images that are different between afocused state in which the cursor is set on a component and a cursormoving state where the cursor moves between components is executed. 22.An animation display processing method that executes, on a display,animation representation of a cursor or of a GUI component on which thecursor is set, the animation display processing method characterized inthat it comprises: a step of executing a search process by a searchengine based on cursor move instruction input information anddetermining a cursor move destination; a step of executing a moveprocess for the cursor in accordance with determined cursor movedestination instruction information; an animation display step ofexecuting an animation display process according to a state, whichaccompanies a cursor movement, of the cursor or of the GUI component onwhich the cursor is set; and wherein, in the animation display step,animation representation of said GUI component is executed bysequentially generating an icon having a shape similar to a shape ofsaid GUI component towards a moving direction, and by making the icon ata rear-side disappear along with the cursor movement.
 23. The animationdisplay processing method according to claim 22 characterized in thatimages constituting said animation representation include an imagehaving directional information indicating a direction in which a cursormovement is possible, and in that said animation display step executes,with respect to a component in a focused state, an animation displayprocess based on said image having directional information.
 24. Theanimation display processing method according to claim 22 characterizedin that said animation display step executes an animation displayprocess comprising images that differ between a focused state where thecursor is set on a component and a cursor moving state where the cursormoves between components.
 25. A computer program that executes, on adisplay, an animation display process for a cursor or a GUI component onwhich the cursor is set, the computer program characterized in that itcomprises: a step of executing a search process by a search engine basedon cursor move instruction input information and determining a cursormove destination; a step of executing a move process for the cursor inaccordance with determined cursor move destination instructioninformation; an animation display step of executing an animation displayprocess according to a state, which accompanies a cursor movement, ofthe cursor or of the GUI component on which the cursor is set; andwherein, in the animation display step, animation representation of saidGUI component is executed by sequentially generating an icon having ashape similar to a shape of said GUI component towards a movingdirection, and by making the icon at a rear-side disappear along withthe cursor movement.